/*
 * Copyright 2022-2025 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.instancio.test.support.pojo.performance;

import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.instancio.test.support.pojo.generics.basic.Item;
import org.instancio.test.support.pojo.generics.foobarbaz.Bar;
import org.instancio.test.support.pojo.generics.foobarbaz.Baz;
import org.instancio.test.support.pojo.generics.foobarbaz.Foo;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;

@Data
@SuppressWarnings("unused")
public class LargeClass {

    private List<Foo<Item<String>>> list0;
    private List<Foo<Item<String>>> list1;
    private List<Foo<Item<String>>> list2;
    private List<Foo<Item<String>>> list3;
    private List<Foo<Item<String>>> list4;
    private List<Foo<Item<String>>> list5;
    private List<Foo<Item<String>>> list6;
    private List<Foo<Item<String>>> list7;
    private List<Foo<Item<String>>> list8;
    private List<Foo<Item<String>>> list9;
    private List<Foo<Item<String>>> list10;
    private List<Foo<Item<String>>> list11;
    private List<Foo<Item<String>>> list12;
    private List<Foo<Item<String>>> list13;
    private List<Foo<Item<String>>> list14;
    private List<Foo<Item<String>>> list15;
    private List<Foo<Item<String>>> list16;
    private List<Foo<Item<String>>> list17;
    private List<Foo<Item<String>>> list18;
    private List<Foo<Item<String>>> list19;
    private List<Foo<Item<String>>> list20;
    private List<Foo<Item<String>>> list21;
    private List<Foo<Item<String>>> list22;
    private List<Foo<Item<String>>> list23;
    private List<Foo<Item<String>>> list24;
    private List<Foo<Item<String>>> list25;
    private List<Foo<Item<String>>> list26;
    private List<Foo<Item<String>>> list27;
    private List<Foo<Item<String>>> list28;
    private List<Foo<Item<String>>> list29;
    private List<Foo<Item<String>>> list30;
    private List<Foo<Item<String>>> list31;
    private List<Foo<Item<String>>> list32;
    private List<Foo<Item<String>>> list33;
    private List<Foo<Item<String>>> list34;
    private List<Foo<Item<String>>> list35;
    private List<Foo<Item<String>>> list36;
    private List<Foo<Item<String>>> list37;
    private List<Foo<Item<String>>> list38;
    private List<Foo<Item<String>>> list39;
    private List<Foo<Item<String>>> list40;
    private List<Foo<Item<String>>> list41;
    private List<Foo<Item<String>>> list42;
    private List<Foo<Item<String>>> list43;
    private List<Foo<Item<String>>> list44;
    private List<Foo<Item<String>>> list45;
    private List<Foo<Item<String>>> list46;
    private List<Foo<Item<String>>> list47;
    private List<Foo<Item<String>>> list48;
    private List<Foo<Item<String>>> list49;
    private List<Foo<Item<String>>> list50;
    private List<Foo<Item<String>>> list51;
    private List<Foo<Item<String>>> list52;
    private List<Foo<Item<String>>> list53;
    private List<Foo<Item<String>>> list54;
    private List<Foo<Item<String>>> list55;
    private List<Foo<Item<String>>> list56;
    private List<Foo<Item<String>>> list57;
    private List<Foo<Item<String>>> list58;
    private List<Foo<Item<String>>> list59;
    private List<Foo<Item<String>>> list60;
    private List<Foo<Item<String>>> list61;
    private List<Foo<Item<String>>> list62;
    private List<Foo<Item<String>>> list63;
    private List<Foo<Item<String>>> list64;
    private List<Foo<Item<String>>> list65;
    private List<Foo<Item<String>>> list66;
    private List<Foo<Item<String>>> list67;
    private List<Foo<Item<String>>> list68;
    private List<Foo<Item<String>>> list69;
    private List<Foo<Item<String>>> list70;
    private List<Foo<Item<String>>> list71;
    private List<Foo<Item<String>>> list72;
    private List<Foo<Item<String>>> list73;
    private List<Foo<Item<String>>> list74;
    private List<Foo<Item<String>>> list75;
    private List<Foo<Item<String>>> list76;
    private List<Foo<Item<String>>> list77;
    private List<Foo<Item<String>>> list78;
    private List<Foo<Item<String>>> list79;
    private List<Foo<Item<String>>> list80;
    private List<Foo<Item<String>>> list81;
    private List<Foo<Item<String>>> list82;
    private List<Foo<Item<String>>> list83;
    private List<Foo<Item<String>>> list84;
    private List<Foo<Item<String>>> list85;
    private List<Foo<Item<String>>> list86;
    private List<Foo<Item<String>>> list87;
    private List<Foo<Item<String>>> list88;
    private List<Foo<Item<String>>> list89;
    private List<Foo<Item<String>>> list90;
    private List<Foo<Item<String>>> list91;
    private List<Foo<Item<String>>> list92;
    private List<Foo<Item<String>>> list93;
    private List<Foo<Item<String>>> list94;
    private List<Foo<Item<String>>> list95;
    private List<Foo<Item<String>>> list96;
    private List<Foo<Item<String>>> list97;
    private List<Foo<Item<String>>> list98;
    private List<Foo<Item<String>>> list99;

    private Set<Bar<Item<String>>> set0;
    private Set<Bar<Item<String>>> set1;
    private Set<Bar<Item<String>>> set2;
    private Set<Bar<Item<String>>> set3;
    private Set<Bar<Item<String>>> set4;
    private Set<Bar<Item<String>>> set5;
    private Set<Bar<Item<String>>> set6;
    private Set<Bar<Item<String>>> set7;
    private Set<Bar<Item<String>>> set8;
    private Set<Bar<Item<String>>> set9;
    private Set<Bar<Item<String>>> set10;
    private Set<Bar<Item<String>>> set11;
    private Set<Bar<Item<String>>> set12;
    private Set<Bar<Item<String>>> set13;
    private Set<Bar<Item<String>>> set14;
    private Set<Bar<Item<String>>> set15;
    private Set<Bar<Item<String>>> set16;
    private Set<Bar<Item<String>>> set17;
    private Set<Bar<Item<String>>> set18;
    private Set<Bar<Item<String>>> set19;
    private Set<Bar<Item<String>>> set20;
    private Set<Bar<Item<String>>> set21;
    private Set<Bar<Item<String>>> set22;
    private Set<Bar<Item<String>>> set23;
    private Set<Bar<Item<String>>> set24;
    private Set<Bar<Item<String>>> set25;
    private Set<Bar<Item<String>>> set26;
    private Set<Bar<Item<String>>> set27;
    private Set<Bar<Item<String>>> set28;
    private Set<Bar<Item<String>>> set29;
    private Set<Bar<Item<String>>> set30;
    private Set<Bar<Item<String>>> set31;
    private Set<Bar<Item<String>>> set32;
    private Set<Bar<Item<String>>> set33;
    private Set<Bar<Item<String>>> set34;
    private Set<Bar<Item<String>>> set35;
    private Set<Bar<Item<String>>> set36;
    private Set<Bar<Item<String>>> set37;
    private Set<Bar<Item<String>>> set38;
    private Set<Bar<Item<String>>> set39;
    private Set<Bar<Item<String>>> set40;
    private Set<Bar<Item<String>>> set41;
    private Set<Bar<Item<String>>> set42;
    private Set<Bar<Item<String>>> set43;
    private Set<Bar<Item<String>>> set44;
    private Set<Bar<Item<String>>> set45;
    private Set<Bar<Item<String>>> set46;
    private Set<Bar<Item<String>>> set47;
    private Set<Bar<Item<String>>> set48;
    private Set<Bar<Item<String>>> set49;
    private Set<Bar<Item<String>>> set50;
    private Set<Bar<Item<String>>> set51;
    private Set<Bar<Item<String>>> set52;
    private Set<Bar<Item<String>>> set53;
    private Set<Bar<Item<String>>> set54;
    private Set<Bar<Item<String>>> set55;
    private Set<Bar<Item<String>>> set56;
    private Set<Bar<Item<String>>> set57;
    private Set<Bar<Item<String>>> set58;
    private Set<Bar<Item<String>>> set59;
    private Set<Bar<Item<String>>> set60;
    private Set<Bar<Item<String>>> set61;
    private Set<Bar<Item<String>>> set62;
    private Set<Bar<Item<String>>> set63;
    private Set<Bar<Item<String>>> set64;
    private Set<Bar<Item<String>>> set65;
    private Set<Bar<Item<String>>> set66;
    private Set<Bar<Item<String>>> set67;
    private Set<Bar<Item<String>>> set68;
    private Set<Bar<Item<String>>> set69;
    private Set<Bar<Item<String>>> set70;
    private Set<Bar<Item<String>>> set71;
    private Set<Bar<Item<String>>> set72;
    private Set<Bar<Item<String>>> set73;
    private Set<Bar<Item<String>>> set74;
    private Set<Bar<Item<String>>> set75;
    private Set<Bar<Item<String>>> set76;
    private Set<Bar<Item<String>>> set77;
    private Set<Bar<Item<String>>> set78;
    private Set<Bar<Item<String>>> set79;
    private Set<Bar<Item<String>>> set80;
    private Set<Bar<Item<String>>> set81;
    private Set<Bar<Item<String>>> set82;
    private Set<Bar<Item<String>>> set83;
    private Set<Bar<Item<String>>> set84;
    private Set<Bar<Item<String>>> set85;
    private Set<Bar<Item<String>>> set86;
    private Set<Bar<Item<String>>> set87;
    private Set<Bar<Item<String>>> set88;
    private Set<Bar<Item<String>>> set89;
    private Set<Bar<Item<String>>> set90;
    private Set<Bar<Item<String>>> set91;
    private Set<Bar<Item<String>>> set92;
    private Set<Bar<Item<String>>> set93;
    private Set<Bar<Item<String>>> set94;
    private Set<Bar<Item<String>>> set95;
    private Set<Bar<Item<String>>> set96;
    private Set<Bar<Item<String>>> set97;
    private Set<Bar<Item<String>>> set98;
    private Set<Bar<Item<String>>> set99;

    private Map<Foo<UUID>, Baz<Item<String>>> map0;
    private Map<Foo<UUID>, Baz<Item<String>>> map1;
    private Map<Foo<UUID>, Baz<Item<String>>> map2;
    private Map<Foo<UUID>, Baz<Item<String>>> map3;
    private Map<Foo<UUID>, Baz<Item<String>>> map4;
    private Map<Foo<UUID>, Baz<Item<String>>> map5;
    private Map<Foo<UUID>, Baz<Item<String>>> map6;
    private Map<Foo<UUID>, Baz<Item<String>>> map7;
    private Map<Foo<UUID>, Baz<Item<String>>> map8;
    private Map<Foo<UUID>, Baz<Item<String>>> map9;
    private Map<Foo<UUID>, Baz<Item<String>>> map10;
    private Map<Foo<UUID>, Baz<Item<String>>> map11;
    private Map<Foo<UUID>, Baz<Item<String>>> map12;
    private Map<Foo<UUID>, Baz<Item<String>>> map13;
    private Map<Foo<UUID>, Baz<Item<String>>> map14;
    private Map<Foo<UUID>, Baz<Item<String>>> map15;
    private Map<Foo<UUID>, Baz<Item<String>>> map16;
    private Map<Foo<UUID>, Baz<Item<String>>> map17;
    private Map<Foo<UUID>, Baz<Item<String>>> map18;
    private Map<Foo<UUID>, Baz<Item<String>>> map19;
    private Map<Foo<UUID>, Baz<Item<String>>> map20;
    private Map<Foo<UUID>, Baz<Item<String>>> map21;
    private Map<Foo<UUID>, Baz<Item<String>>> map22;
    private Map<Foo<UUID>, Baz<Item<String>>> map23;
    private Map<Foo<UUID>, Baz<Item<String>>> map24;
    private Map<Foo<UUID>, Baz<Item<String>>> map25;
    private Map<Foo<UUID>, Baz<Item<String>>> map26;
    private Map<Foo<UUID>, Baz<Item<String>>> map27;
    private Map<Foo<UUID>, Baz<Item<String>>> map28;
    private Map<Foo<UUID>, Baz<Item<String>>> map29;
    private Map<Foo<UUID>, Baz<Item<String>>> map30;
    private Map<Foo<UUID>, Baz<Item<String>>> map31;
    private Map<Foo<UUID>, Baz<Item<String>>> map32;
    private Map<Foo<UUID>, Baz<Item<String>>> map33;
    private Map<Foo<UUID>, Baz<Item<String>>> map34;
    private Map<Foo<UUID>, Baz<Item<String>>> map35;
    private Map<Foo<UUID>, Baz<Item<String>>> map36;
    private Map<Foo<UUID>, Baz<Item<String>>> map37;
    private Map<Foo<UUID>, Baz<Item<String>>> map38;
    private Map<Foo<UUID>, Baz<Item<String>>> map39;
    private Map<Foo<UUID>, Baz<Item<String>>> map40;
    private Map<Foo<UUID>, Baz<Item<String>>> map41;
    private Map<Foo<UUID>, Baz<Item<String>>> map42;
    private Map<Foo<UUID>, Baz<Item<String>>> map43;
    private Map<Foo<UUID>, Baz<Item<String>>> map44;
    private Map<Foo<UUID>, Baz<Item<String>>> map45;
    private Map<Foo<UUID>, Baz<Item<String>>> map46;
    private Map<Foo<UUID>, Baz<Item<String>>> map47;
    private Map<Foo<UUID>, Baz<Item<String>>> map48;
    private Map<Foo<UUID>, Baz<Item<String>>> map49;
    private Map<Foo<UUID>, Baz<Item<String>>> map50;
    private Map<Foo<UUID>, Baz<Item<String>>> map51;
    private Map<Foo<UUID>, Baz<Item<String>>> map52;
    private Map<Foo<UUID>, Baz<Item<String>>> map53;
    private Map<Foo<UUID>, Baz<Item<String>>> map54;
    private Map<Foo<UUID>, Baz<Item<String>>> map55;
    private Map<Foo<UUID>, Baz<Item<String>>> map56;
    private Map<Foo<UUID>, Baz<Item<String>>> map57;
    private Map<Foo<UUID>, Baz<Item<String>>> map58;
    private Map<Foo<UUID>, Baz<Item<String>>> map59;
    private Map<Foo<UUID>, Baz<Item<String>>> map60;
    private Map<Foo<UUID>, Baz<Item<String>>> map61;
    private Map<Foo<UUID>, Baz<Item<String>>> map62;
    private Map<Foo<UUID>, Baz<Item<String>>> map63;
    private Map<Foo<UUID>, Baz<Item<String>>> map64;
    private Map<Foo<UUID>, Baz<Item<String>>> map65;
    private Map<Foo<UUID>, Baz<Item<String>>> map66;
    private Map<Foo<UUID>, Baz<Item<String>>> map67;
    private Map<Foo<UUID>, Baz<Item<String>>> map68;
    private Map<Foo<UUID>, Baz<Item<String>>> map69;
    private Map<Foo<UUID>, Baz<Item<String>>> map70;
    private Map<Foo<UUID>, Baz<Item<String>>> map71;
    private Map<Foo<UUID>, Baz<Item<String>>> map72;
    private Map<Foo<UUID>, Baz<Item<String>>> map73;
    private Map<Foo<UUID>, Baz<Item<String>>> map74;
    private Map<Foo<UUID>, Baz<Item<String>>> map75;
    private Map<Foo<UUID>, Baz<Item<String>>> map76;
    private Map<Foo<UUID>, Baz<Item<String>>> map77;
    private Map<Foo<UUID>, Baz<Item<String>>> map78;
    private Map<Foo<UUID>, Baz<Item<String>>> map79;
    private Map<Foo<UUID>, Baz<Item<String>>> map80;
    private Map<Foo<UUID>, Baz<Item<String>>> map81;
    private Map<Foo<UUID>, Baz<Item<String>>> map82;
    private Map<Foo<UUID>, Baz<Item<String>>> map83;
    private Map<Foo<UUID>, Baz<Item<String>>> map84;
    private Map<Foo<UUID>, Baz<Item<String>>> map85;
    private Map<Foo<UUID>, Baz<Item<String>>> map86;
    private Map<Foo<UUID>, Baz<Item<String>>> map87;
    private Map<Foo<UUID>, Baz<Item<String>>> map88;
    private Map<Foo<UUID>, Baz<Item<String>>> map89;
    private Map<Foo<UUID>, Baz<Item<String>>> map90;
    private Map<Foo<UUID>, Baz<Item<String>>> map91;
    private Map<Foo<UUID>, Baz<Item<String>>> map92;
    private Map<Foo<UUID>, Baz<Item<String>>> map93;
    private Map<Foo<UUID>, Baz<Item<String>>> map94;
    private Map<Foo<UUID>, Baz<Item<String>>> map95;
    private Map<Foo<UUID>, Baz<Item<String>>> map96;
    private Map<Foo<UUID>, Baz<Item<String>>> map97;
    private Map<Foo<UUID>, Baz<Item<String>>> map98;
    private Map<Foo<UUID>, Baz<Item<String>>> map99;

    private Foo<Item<String>>[] array0;
    private Foo<Item<String>>[] array1;
    private Foo<Item<String>>[] array2;
    private Foo<Item<String>>[] array3;
    private Foo<Item<String>>[] array4;
    private Foo<Item<String>>[] array5;
    private Foo<Item<String>>[] array6;
    private Foo<Item<String>>[] array7;
    private Foo<Item<String>>[] array8;
    private Foo<Item<String>>[] array9;
    private Foo<Item<String>>[] array10;
    private Foo<Item<String>>[] array11;
    private Foo<Item<String>>[] array12;
    private Foo<Item<String>>[] array13;
    private Foo<Item<String>>[] array14;
    private Foo<Item<String>>[] array15;
    private Foo<Item<String>>[] array16;
    private Foo<Item<String>>[] array17;
    private Foo<Item<String>>[] array18;
    private Foo<Item<String>>[] array19;
    private Foo<Item<String>>[] array20;
    private Foo<Item<String>>[] array21;
    private Foo<Item<String>>[] array22;
    private Foo<Item<String>>[] array23;
    private Foo<Item<String>>[] array24;
    private Foo<Item<String>>[] array25;
    private Foo<Item<String>>[] array26;
    private Foo<Item<String>>[] array27;
    private Foo<Item<String>>[] array28;
    private Foo<Item<String>>[] array29;
    private Foo<Item<String>>[] array30;
    private Foo<Item<String>>[] array31;
    private Foo<Item<String>>[] array32;
    private Foo<Item<String>>[] array33;
    private Foo<Item<String>>[] array34;
    private Foo<Item<String>>[] array35;
    private Foo<Item<String>>[] array36;
    private Foo<Item<String>>[] array37;
    private Foo<Item<String>>[] array38;
    private Foo<Item<String>>[] array39;
    private Foo<Item<String>>[] array40;
    private Foo<Item<String>>[] array41;
    private Foo<Item<String>>[] array42;
    private Foo<Item<String>>[] array43;
    private Foo<Item<String>>[] array44;
    private Foo<Item<String>>[] array45;
    private Foo<Item<String>>[] array46;
    private Foo<Item<String>>[] array47;
    private Foo<Item<String>>[] array48;
    private Foo<Item<String>>[] array49;
    private Foo<Item<String>>[] array50;
    private Foo<Item<String>>[] array51;
    private Foo<Item<String>>[] array52;
    private Foo<Item<String>>[] array53;
    private Foo<Item<String>>[] array54;
    private Foo<Item<String>>[] array55;
    private Foo<Item<String>>[] array56;
    private Foo<Item<String>>[] array57;
    private Foo<Item<String>>[] array58;
    private Foo<Item<String>>[] array59;
    private Foo<Item<String>>[] array60;
    private Foo<Item<String>>[] array61;
    private Foo<Item<String>>[] array62;
    private Foo<Item<String>>[] array63;
    private Foo<Item<String>>[] array64;
    private Foo<Item<String>>[] array65;
    private Foo<Item<String>>[] array66;
    private Foo<Item<String>>[] array67;
    private Foo<Item<String>>[] array68;
    private Foo<Item<String>>[] array69;
    private Foo<Item<String>>[] array70;
    private Foo<Item<String>>[] array71;
    private Foo<Item<String>>[] array72;
    private Foo<Item<String>>[] array73;
    private Foo<Item<String>>[] array74;
    private Foo<Item<String>>[] array75;
    private Foo<Item<String>>[] array76;
    private Foo<Item<String>>[] array77;
    private Foo<Item<String>>[] array78;
    private Foo<Item<String>>[] array79;
    private Foo<Item<String>>[] array80;
    private Foo<Item<String>>[] array81;
    private Foo<Item<String>>[] array82;
    private Foo<Item<String>>[] array83;
    private Foo<Item<String>>[] array84;
    private Foo<Item<String>>[] array85;
    private Foo<Item<String>>[] array86;
    private Foo<Item<String>>[] array87;
    private Foo<Item<String>>[] array88;
    private Foo<Item<String>>[] array89;
    private Foo<Item<String>>[] array90;
    private Foo<Item<String>>[] array91;
    private Foo<Item<String>>[] array92;
    private Foo<Item<String>>[] array93;
    private Foo<Item<String>>[] array94;
    private Foo<Item<String>>[] array95;
    private Foo<Item<String>>[] array96;
    private Foo<Item<String>>[] array97;
    private Foo<Item<String>>[] array98;
    private Foo<Item<String>>[] array99;

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
    }
}
